# 就餐人数 　在为完成练习9-1而编写的程序中，添加一个名为number_served 的属性，并将其默认值设置为0。
# 根据这个类创建一个名为restaurant 的实例。打印有多少人在这家餐馆就餐过，然后修改这个值并再次打印它。
# 添加一个名为set_number_served() 的方法，让你能够设置就餐人数。
# 调用这个方法并向它传递一个值，然后再次打印这个值。
# 添加一个名为increment_number_served() 的方法，让你能够将就餐人数递增。
# 调用这个方法并向它传递一个这样的值：你认为这家餐馆每天可能接待的就餐人数。

# restaurant.py
class Restaurant:
	"""模拟餐馆的运营"""

	def __init__(self, name, cuisine_type):
		"""初始化属性餐馆名restaurant_name和烹饪类型cuisine_type"""
		self.name = name
		self.cuisine_type = cuisine_type
		self.number_served = 0

	def describe_restaurant(self):
		"""概述餐馆名及其提供的菜式"""
		print(f"{self.name} restaurant provide {self.cuisine_type} food.")

	def open_restaurant(self):
		"""打印餐馆开门营业"""
		print(f"{self.name} restaurant is open now!")

	def display_number_served(self):
		"""打印餐馆已服务顾客数"""
		print(f"This restaurant has served {self.number_served} customer.")

	def set_number_served(self, number):	# 修改餐馆已服务顾客数
		"""修改餐馆已服务的顾客数"""
		self.number_served = number

	def increment_number_served(self, inc_num):
		"""按预设每天可能接待的就餐人数递增就餐人数"""
		self.number_served += inc_num

restaurant1 = Restaurant('Happy Village', 'stewing')		# 蒸煮
restaurant2 = Restaurant('Dicos', 'fried')		# 油炸

print(f"The restaurant name is {restaurant1.name}.")
restaurant1.describe_restaurant()
restaurant1.open_restaurant()
restaurant1.display_number_served()
restaurant1.number_served = 200			# 直接更改类中已定义的属性值
restaurant1.display_number_served()

restaurant1.set_number_served(500)			# 通过方法修改属性的值
restaurant1.display_number_served()

restaurant1.increment_number_served(50)			# 通过方法进行递增（增加特定的值）
restaurant1.display_number_served()

print(f"\nAnother restaurant name is {restaurant2.name}.")
restaurant2.describe_restaurant()
restaurant2.open_restaurant()